package cn.lyjuan.payment.third.base.pay.chl.impl.iap.bean;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * desc also use in receipt
 */
@Data
@NoArgsConstructor
public class ReceiptVo {
    /**
     * app_item_id
     */
    //private Long adam_id;

    /**
     * app_item_id
     */
    //private Long app_item_id;

    /**
     * app-version
     */
    //private String application_version;

    /**
     * identity
     */
    //private String bundle_id;

    /**
     * A unique identifier for the app download transaction
     */
    //private Integer download_id;

    /**
     * The time the receipt expires for apps purchased through the Volume Purchase Program,
     * in a date-time format similar to the ISO 8601.
     */
    //private String expiration_date;

    /**
     * The time the receipt expires for apps purchased through the Volume Purchase Program,
     * in UNIX epoch time format, in milliseconds.
     * If this key is not present for apps purchased through the Volume Purchase Program,
     * the receipt does not expire. Use this time format for processing dates.
     */
    //private String expiration_date_ms;

    /**
     * The time the receipt expires for apps purchased through the Volume Purchase Program,
     * in the Pacific Time zone.
     */
    //private String expiration_date_pst;

    /**
     * An array that contains the in-app purchase receipt fields for all in-app purchase transactions.
     */
    private List<LatestReceiptInfoVo> in_app;

    /**
     * The version of the app that the user originally purchased.
     * This value does not change,
     * and corresponds to the value of CFBundleVersion (in iOS) or CFBundleShortVersionString (in macOS) in the Info.
     * plist file of the original purchase. In the sandbox environment, the value is always "1.0".
     */
    //private String original_application_version;

    /**
     * The time of the original app purchase, in a date-time format similar to ISO 8601.
     */
    //private String original_purchase_date;

    /**
     * The time of the original app purchase, in UNIX epoch time format, in milliseconds.
     * Use this time format for processing dates.
     */
    //private String original_purchase_date_ms;

    /**
     * The time of the original app purchase, in the Pacific Time zone.
     */
    //private String original_purchase_date_pst;

    /**
     * The time the user ordered the app available for pre-order,
     * in a date-time format similar to ISO 8601.
     */
    //private String preorder_date;

    /**
     * The time the user ordered the app available for pre-order, in UNIX epoch time format, in milliseconds.
     * This field is only present if the user pre-orders the app. Use this time format for processing dates.
     */
    //private String preorder_date_ms;

    /**
     * The time the user ordered the app available for pre-order, in the Pacific Time zone.
     */
    //private String preorder_date_pst;

    /**
     * The time the App Store generated the receipt, in a date-time format similar to ISO 8601.
     */
    //private String receipt_creation_date;

    /**
     * The time the App Store generated the receipt, in UNIX epoch time format,
     * in milliseconds. Use this time format for processing dates. This value does not change.
     */
    //private String receipt_creation_date_ms;

    /**
     * The time the App Store generated the receipt, in the Pacific Time zone.
     */
    //private String receipt_creation_date_pst;

    /**
     * The type of receipt generated.
     * The value corresponds to the environment in which the app or VPP purchase was made.
     * Possible values: Production, ProductionVPP, ProductionSandbox, ProductionVPPSandbox
     */
    //private String receipt_type;

    /**
     * The time the request to the verifyReceipt endpoint was processed and the response was generated,
     * in a date-time format similar to ISO 8601.
     */
    //private String request_date;

    /**
     * The time the request to the verifyReceipt endpoint was processed and the response was generated,
     * in UNIX epoch time format, in milliseconds. Use this time format for processing dates.
     */
    //private String request_date_ms;

    /**
     * The time the request to the verifyReceipt endpoint was processed and the response was generated,
     * in the Pacific Time zone.
     */
    //private String request_date_pst;

    /**
     * An arbitrary number that identifies a revision of your app. In the sandbox, this key's value is “0”.
     */
    //private Integer version_external_identifier;
}